The present invention is related generally to data processing systems and more particularly to a multiple buffer control system for controlling data transfers between disk drives and bus connected processors.
With the recent growth in the interconnection of personal and business minicomputers through a system bus there has developed a need to control, record, and retrieve digital data from magnetic media, particularly disks. Generally speaking, a system is comprised of a microprocessor, disk drive and a disk controller, with the microprocessor having its own data and address bus connected to the disk controller. The disk controller is connected to the disk drive by a controller bus. Some systems may also utilize a disk drive that is connected to the controller by a state machine. In such systems, data read from the disk passes through the state machine and onto the controller bus. The state machine normally performs a number of functions such as receiving data in parallel format, storing the data so that it can be directed to the disk in serial format, translating protocols and controlling the direction of data flow. Groups of dedicated buffers are generally used in such systems to handle input data and output data.
To maintain an acceptable degree of processing speed, input buffers and output buffers are interjected between the slow disk drives and the high speed processors. Each of these buffers are unidirectional in that it handles either incoming or outgoing data only. Such systems can use only half of the data buffers at one time, i.e., either the incoming buffers or the outgoing buffers.